home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 90 / CDMM_90_1.ISO / Cycling Manager 2 / CyclingManager2Demo.exe / Disk1 / data1.cab / Game / DataCM2 / scripts / net / GatewayClient.cnc < prev    next >
Encoding:
Text File  |  2002-05-10  |  2.8 KB  |  130 lines

  1. func Gui_Component NewGatewayConnection()
  2. {
  3.     var Gui_Component pthis;
  4.     var Gui_dtGateway pdtData;
  5.  
  6.     pthis = NewObject(iUserGatewayInterface);
  7.     pdtData = new Gui_dtGateway;
  8.  
  9.     SetData(pthis,pdtData);
  10.  
  11.     return pthis;
  12. }
  13.  
  14. func void fnGatewayDistantConnect(szx _szIp)
  15. {
  16.     var Gui_Component pthis;
  17.     var Gui_dtGateway pdtData;
  18.  
  19.     pthis = GetThis();
  20.     pdtData = GetData(pthis);
  21.  
  22.     if(!pdtData.pGatewaySocket)
  23.     {
  24.         pdtData.szIp = _szIp;
  25.         pdtData.iPort = g_iGatewayPort;
  26.  
  27.         pdtData.pGatewaySocket = NetClient_Create(_szIp, g_iGatewayPort, pthis);
  28.         g_pGatewaySocket = pdtData.pGatewaySocket;
  29.     }
  30.     else
  31.     {
  32.         print("Already connected to gateway.\n");
  33.     }
  34. }
  35.  
  36.  
  37. // database reception
  38. func void fnGTDatabase_Data(szx _szDatabaseName)
  39. {
  40.     var Gui_Component pthis,parent;
  41.     var Gui_dtGateway pdtData;
  42.  
  43.     pthis = GetThis();
  44.     pdtData = GetData(pthis);
  45.  
  46.     print(_szDatabaseName + " database from gateway received\n" );
  47.     
  48.     if (strcmp(_szDatabaseName,"GatewayDB")==0)
  49.     {
  50.         pdtData.iDatabaseIndex = Database_Constructor("GatewayDB");
  51.         Database_Receive(pdtData.iDatabaseIndex,"GatewayDB",pdtData.pGatewaySocket);
  52.  
  53.         g_stGateway.iJoinGame_szIP    = Join_Constructor(pdtData.iDatabaseIndex, "GAT_games.szIP");
  54.         g_stGateway.iJoinGame_iPort    = Join_Constructor(pdtData.iDatabaseIndex, "GAT_games.iPort");
  55.  
  56.  
  57.         parent = GetParent(pthis);
  58.         println ("gateway db " + itoa(pdtData.iDatabaseIndex));
  59.         if(parent)
  60.             parent<<GatewayDBOk(pthis,pdtData.iDatabaseIndex);
  61.  
  62.     }
  63.     else
  64.     {
  65.         print("unknown database\n");
  66.     }
  67. }
  68.  
  69. // database sync
  70. func void fnGTDatabase_Sync(szx _szDatabaseName)
  71. {
  72.     var Gui_Component pthis,parent;
  73.     var Gui_dtGateway pdtData;
  74.  
  75.     print(_szDatabaseName + " database update from gateway received\n" );
  76.  
  77.     pthis = GetThis();
  78.     pdtData = GetData(pthis);
  79.  
  80.     if (strcmp(_szDatabaseName,"GatewayDB")==0)
  81.     {
  82.         Database_ReceiveSynchronization(pdtData.iDatabaseIndex,_szDatabaseName,pdtData.pGatewaySocket);
  83.  
  84.         parent = GetParent(pthis);
  85.         if(parent)
  86.             parent<<GatewayDBRefresh(pthis,pdtData.iDatabaseIndex);
  87.     }
  88.     else
  89.     {
  90.         print("unknown database\n");
  91.     }
  92. }
  93.  
  94. // user connection
  95. func void fnGatewayConnectCB()
  96. {
  97.     print("connected to gateway\n");
  98. }
  99.  
  100. // user disconnection
  101. func void fnGatewayDisconnectCB()
  102. {
  103.     var Gui_Component pthis,parent;
  104.     var Gui_dtGateway pdtData;
  105.  
  106.     print("disconnected to gateway\n");
  107.  
  108.     pthis = GetThis();
  109.     pdtData = GetData(pthis);
  110.  
  111.     if (pdtData.iDatabaseIndex)
  112.         Database_Destructor(pdtData.iDatabaseIndex);
  113.     pdtData.iDatabaseIndex = 0;
  114.  
  115.     if (g_stGateway.iJoinGame_szIP)
  116.         Join_Destructor(g_stGateway.iJoinGame_szIP);
  117.     g_stGateway.iJoinGame_szIP = 0;
  118.  
  119.     if (g_stGateway.iJoinGame_iPort)
  120.         Join_Destructor(g_stGateway.iJoinGame_iPort);
  121.     g_stGateway.iJoinGame_iPort = 0;    
  122.  
  123.     pdtData.pGatewaySocket = NULL;
  124.     g_pGatewaySocket = NULL;
  125.  
  126.     parent = GetParent(pthis);
  127.     if(parent)
  128.         parent<<GatewayDBUnvalid(pthis);
  129.  
  130. }